module.exports = (options) => {
    //console.log('options', options)
  return async (ctx, next) => {
    const url = ctx.request.url;
    console.log("url", url);
    //const user = ctx.session[ctx.username];
    const token = ctx.request.token;
    const username = await ctx.app.redis.get(ctx.username);
    const user = username ? username === token : username;
    // 用户名不存在 并且请求路径不是登录/注册
    if (!user && !options.exclude.includes(ctx.request.url.split("?")[0])) {
      ctx.body = {
        status: 1001,
        errMsg: "用户未登录",
      };
    } else {
      //  用户名存在 不是注册、登录 / 用户名不存在 是注册登录/  用户名存在、是注册登录
      await next();
    }
  };
};

// 前端发送请求，然后后端从请求头中获取token  通过jwt来对token进行解密获取用户名， 然后从session获取key
